﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace ATM
{
    public partial class qlgiaodich : Form
    {
        private SqlConnection conn;
        private DataTable dt = new DataTable("TB_TRANSACTION");
        private DataTable dt1 = new DataTable("TB_USER");
        private SqlDataAdapter da = new SqlDataAdapter();

        private void connect()
        {

            String cn = @"Data Source=(local);Initial Catalog=ATM_PM1;Integrated Security=True";
            try
            {
                conn = new SqlConnection(cn);
                conn.Open();

            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);
                MessageBox.Show("khong thanh cong");
            }
        }

        private void disconnect()
        {
            conn.Close();
            conn.Dispose();
            conn = null;
        }
        public qlgiaodich()
        {
            InitializeComponent();
        }

        private void qlgiaodich_Load(object sender, EventArgs e)
        {
            connect();
            getdata();
        }
        private void getdata()
        {
            SqlCommand command = new SqlCommand();
            command.Connection = conn;
            command.CommandType = CommandType.Text;
            command.CommandText = @"Select Tran_ID[STT],Acc_No[Số tài khoản],Acc_sec_ID[Tài khoản nhận],TranT_Details[Loại hình giao dịch],
                                     Tran_Balance[Số dư tài khoản],Tran_Amount[Số tiền giao dịch],Tran_Date[Ngày giao dịch] from TB_TRANSACTION,TB_TRANSACTION_TYPE,TB_ACCOUNT
                                        where TranT_id = Tran_Type and Acc_ID = Acc_Pri_ID";
            da.SelectCommand = command;
            da.Fill(dt);
            showgiaodich.DataSource = dt;
            txtchuyenkhoan.DataBindings.Clear();
            txtchuyenkhoan.DataBindings.Add("Text", showgiaodich.DataSource, "Tài khoản nhận");
           
        }
        private void btntimkiem_Click(object sender, EventArgs e)
        {
            dt.Clear();
            int id = cbbselect.SelectedIndex;
            String acc = txttim.Text;
                           
                if (id == -1)
                {
                    SqlCommand command = new SqlCommand();
                    command.Connection = conn;
                    command.CommandType = CommandType.Text;
                    command.CommandText = @"Select Tran_ID[STT],Acc_No[Số tài khoản],Acc_sec_ID[Tài khoản chuyển],TranT_Details[Loại hình giao dịch],Tran_Balance[Số dư tài khoản],Tran_Amount[Số tiền giao dịch],Tran_Date[Ngày giao dịch]
                                             from TB_TRANSACTION,TB_TRANSACTION_TYPE,TB_ACCOUNT where Acc_No ='" + acc + "'and TranT_id = Tran_Type and Acc_ID = Acc_Pri_ID";
                    da.SelectCommand = command;
                    da.Fill(dt);
                    if (dt.Rows.Count > 0)
                    {
                        showgiaodich.DataSource = dt;
                    }
                    else
                    {
                        MessageBox.Show("không tìm thấy Số tài khoản khách hàng này !", "Thông báo", MessageBoxButtons.OK);
                    }
                }
                else
                {
                    SqlCommand command = new SqlCommand();
                    command.Connection = conn;
                    command.CommandType = CommandType.Text;
                    command.CommandText = @"Select Tran_ID[STT],Acc_No[Số tài khoản],Acc_sec_ID[Tài khoản chuyển],TranT_Details[Loại hình giao dịch],Tran_Balance[Số dư tài khoản],Tran_Amount[Số tiền giao dịch],Tran_Date[Ngày giao dịch] 
                                             from TB_TRANSACTION,TB_TRANSACTION_TYPE,TB_ACCOUNT
                                             where Tran_Type = '" + id + "' and Acc_No = '" + acc + "'and TranT_id = Tran_Type and Acc_ID = Acc_Pri_ID";
                    da.SelectCommand = command;
                    da.Fill(dt);
                    if (dt.Rows.Count > 0)
                    {
                        showgiaodich.DataSource = dt;
                    }
                    else
                    {
                        MessageBox.Show("không tìm thấy Số tài khoản khách hàng này !", "Thông báo", MessageBoxButtons.OK);
                    }
                }
            }
    

        private void btnthoat_Click(object sender, EventArgs e)
        {
            Close();
            disconnect();
            Dispose();
        }

        private void txtchuyenkhoan_TextChanged(object sender, EventArgs e)
        {
            if (txtchuyenkhoan.Text != "")
            {
                btnchuyenkhoan.Enabled = true;
                
            }
            else
            {
                btnchuyenkhoan.Enabled = false;
                showtaikhoan.Visible = false;
            }
        }

        private void btnchuyenkhoan_Click(object sender, EventArgs e)
        {
            dt1.Clear();
            //int t = Convert.ToInt32(txtchuyenkhoan.Text);
            SqlCommand command = new SqlCommand();
            command.Connection = conn;
            command.CommandType = CommandType.Text;
            command.CommandText = @"Select Acc_No,User_FullName,User_Gender,User_Phone,User_Address from TB_ACCOUNT,TB_USER where Acc_ID =@Acc_ID 
                                    and TB_ACCOUNT.User_ID = TB_USER.User_ID";
            command.Parameters.Add("@Acc_ID", SqlDbType.Int, 20).Value = txtchuyenkhoan.Text;
            da.SelectCommand = command;
            da.Fill(dt1);
            showtaikhoan.DataSource = dt1;
            showtaikhoan.Visible = true;
        }

        private void panel2_Paint(object sender, PaintEventArgs e)
        {

        }

        private void btnInthongtin_Click(object sender, EventArgs e)
        {
            CRgiaodich gd = new CRgiaodich();
            gd.ShowDialog();
        }

    }
}
